/**
 * 
 */
package projeto.comercial.funcaoservico.cdp;

import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.ManyToMany;

import nucleo.comuns.util.UtilitarioSerializacao;

import plataforma.base.cdp.IObjetoAtivoInativo;
import plataforma.base.cdp.ObjetoPersistente;
import projeto.administrativo.atividade.cdp.KAtividade;

/**
 * @author mike
 *
 */
@Entity
public class FuncaoServico extends ObjetoPersistente implements IObjetoAtivoInativo {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = UtilitarioSerializacao.getIDSerializacao();
	boolean ativo;
	private String descricao;
	private Set<KAtividade> kAtividades = new HashSet<KAtividade>();
		
	//todo objeto que implementa IObjetoAtivoInativo deve ser ativado quando criado
	public FuncaoServico(){
		this.ativo = true;
	}
	
	@Column(unique=true, nullable=false)
	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	@Override
	@Column(columnDefinition="boolean default false")
	public boolean isAtivo() {
		return ativo;
	}

	@Override
	public void setAtivo(boolean isAtivo) {
		this.ativo = isAtivo;	
		
	}

	/**
	 * @return the kAtividades
	 */
	@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
	public Set<KAtividade> getkAtividades() {
		return kAtividades;
	}

	/**
	 * @param kAtividades the kAtividades to set
	 */
	public void setkAtividades(Set<KAtividade> kAtividades) {
		this.kAtividades = kAtividades;
	} 

}
